const userModel = require("../models/user_model")
const Result = require("../beans/result")

// 处理注册请求
function doRegister(user, callback) {

    /* 看看用户名有没有重，无则执行注册 */
    userModel.getuserRegister(user, (err, data) => {
        // if (err) {
        //     callback(
        //         new Result(new Error("服务器错误"), null, "注册失败", 500)
        //     )
        //     return
        // }
        console.log("45445",data);
        if (!data||data==[]) {
            userModel.createUser(user, (result) => {
                console.log("1111",err);
                if (!err) {
                    
                    callback(new Result(null, {}, "注册成功", 200))
                } else {
                    callback(new Result("服务器错误", null, "注册失败1221221", 500))
                }
            })
        } else {
            callback(new Result("用户名存在", null, "注册失败", 500))
        }
    })

}
const {
    createToken
} = require("../beans/token")
// 处理登录请求
function doLogin(user, callback) {
    userModel.getUser(user, (err, data) => {
        console.log("data=", data);
        if (!err) {
            const token = createToken({}, 10)
            data["token"] = token
            data["password"] = undefined
            callback(new Result(null, data, "登录成功", 200))
        } else {
            callback(new Result(err, null, "登录失败", 401))
        }
        
    })
}

// 处理用户信息请求
function doUserInfoQuery(user,callback) {
    userModel.getUser(user, (err, data) => {
        console.log("22222",data);
        if (data) {
            data.password=undefined
            callback(new Result(null, data, "用户信息获取成功", 200))
        } else {
            // console.log("kkkkkkk",data);
            callback(new Result(err, null, "用户信息获取失败", 401))
        }
    })
}
// 查询所有用户
function getuserAlllist(user,callback) {
    userModel.getUserAll(user, (err, data) => {
        console.log("22222",data);
        if (data) {
            data.password=undefined
            callback(new Result(null, data, "用户列表获取成功", 200))
        } else {
            // console.log("kkkkkkk",data);
            callback(new Result(err, null, "用户列表获取失败", 401))
        }
    })
}
// 处理用户修改信息
function doputUserInfo(userid,callback) {
    userModel.putUserInfo(userid, (err, data) => {
        console.log("22222",data);
        if (data) {
            callback(new Result(null, data, "用户信息修改成功", 200))
        } else {
            // console.log("kkkkkkk",data);
            callback(new Result(err, null, "用户信息修改失败", 401))
        }
    })
}
module.exports = {
    doRegister,
    doLogin,
    doUserInfoQuery,
    doputUserInfo,
    getuserAlllist
}